package com.dd.shop4j.goods.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.dd.shop4j.goods.model.GoodsInfo;
import com.dd.shop4j.website.controller.forms.PriceRange;
import com.dd.shop4j.common.mapper.IBaseMapper;
import com.dd.shop4j.console.goods.controller.forms.GoodsQueryForm;

/**
 * 商品信息(goods_info)Mapper 
 * 
 * @author 唐小恕 2013-08-27
 * @version 1.0 
 */
@Repository
public interface GoodsInfoMapper extends IBaseMapper<GoodsInfo, Integer> {

	/**
	 * 商品分页条件查询
	 * @param query	查询条件
	 * @param start	起始索引
	 * @param limit 条数
	 * @param orderby 排序字段
	 * @param orderType 排序类型
	 * @return
	 */
	public List<GoodsInfo> queryGoodsByPage(@Param("query") GoodsQueryForm query,
			@Param("start") int start, @Param("limit") int limit,
			@Param("orderby") String orderby,
			@Param("orderType") String orderType);

	/**
	 * 商品分页查询的记录条数
	 * @param query
	 * @return
	 */
	public int queryGoodsCount(@Param("query") GoodsQueryForm query);
	
	/**
	 * 根据订单id得到商品列表
	 * @param orderId 订单id
	 * @return
	 */
	public List<GoodsInfo> getGoodsByOrderId(@Param("orderId") Integer orderId);
	
	public Integer getAvgRange();

	public List<Map<String, Object>> groupByPrice(@Param("range") Integer range);
}
